<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title>js-function-callee-caller</title>
</head>
<body>
	<p>在 ECMAScript5 严格模式中，对这两个属性的读写操作都会产生一个类型错误。</p>
	<p>在非严格模式下，ECMASciript 标准规范规定 callee 属性指代当前正在执行的函数。</p>
	<p>caller 是非标准的，但大多数浏览器都实现了这个属性，它指代调用当前正在执行的函数的函数。</p>
</body>
</html>
<script type="text/javascript">
//阶乘
var factorial = function(x){
	if(x <= 1) return 1;
	return x * arguments.callee(x - 1);
};
alert(factorial(4));
</script>